﻿App.Views.Butacas = function () {

    var self = this;
    self.butacasLista = ko.observableArray();
    self.PrecioFinal = ko.computed(function() {
        var precio = 0;
        _.each(self.butacasLista(), function(item){ precio += item.precio });

        return precio;
    }, this);


    self.eliminarPasajero = function(){

        var idPiso = ( this.IsPrimerPiso == true ) ? "#ul-listPrimerPiso" : "#ul-listSegundoPiso";
        var numButaca = this.NumeroButaca;

        $( idPiso + " a").filter(function( index ) {
                return $( this ).text()== numButaca;
        }).parent().removeClass("seleccionado").addClass( "disponible" );

        self.butacasLista.remove(this);

    };

    var getButacasDisponibles = function () {
        $.ajax({
            url: "/Servicios/BuscarButacas",
            type: "GET",
            success: function (Response) {
                if (Response.success == true) {
                    if (Response.results > 0) {
                    	//self.butacasLista(Response.data);
                    }
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
            }
        });
    };

    var asientoSeleccionado = function(event)
    {
        event.preventDefault();
        var objLi = $(this).parent();
        var numButaca =  $(this).text();
        var isPrimerPiso = ( $(objLi).parent().attr('id') == "ul-listPrimerPiso" ) ? true : false;

        if ( $(objLi).hasClass( "disponible") )
        {
            self.butacasLista.push(
            {
                NumeroButaca: numButaca,
                IsPrimerPiso : isPrimerPiso,
                IsOcupado : false,
                IsEdited: false,
                precio : App.Cache.selectedPasajes.origen.Precio,
                NumDocumento: "",
                NombrePasajero: "Nuevo Pasajero"
            });

            $(objLi).removeClass("disponible").addClass( "seleccionado" );
        }
        else
        {
            self.butacasLista.remove(function(item) { return item.NumeroButaca == numButaca })
            $(objLi).removeClass("seleccionado").addClass( "disponible" );

        }
    };

    App.Views.Butacas.prototype.init = function () {
    	getButacasDisponibles();

        
        $("#Origenida").text(App.Cache.selectedPasajes.origen.origen);
        $("#DestinoVuelta").text(App.Cache.selectedPasajes.origen.destino);

        $( ".listaButacas li a" ).on( "click", asientoSeleccionado ) 
    };

};

